home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1996 April / Macworld (1996-04).dmg / Shareware World / Entertainment / General / Xconq 7.0.1 / lib / insects.g < prev    next >
Text File  |  1995-08-22  |  5KB  |  221 lines

  1. (game-module "insects"
  2.   (blurb "Bugs, Mr Rico! Zillions of 'em!")
  3.   (variants (see-all false) (world-seen true))
  4.   )
  5.  
  6. (unit-type worker (char "w")
  7.   (help ""))
  8. (unit-type spider (char "s")
  9.   (help ""))
  10. (unit-type skeeter (char "k")
  11.   (help "waterbug"))
  12. (unit-type beetle (char "B")
  13.   (help ""))
  14. (unit-type queen (image-name "crown") (char "Q")
  15.   (help ""))
  16. (unit-type fly (char "f")
  17.   (help ""))
  18. (unit-type bee (char "b")
  19.   (help ""))
  20. (unit-type web (image-name "web2") (char "%")
  21.   (help ""))
  22. (unit-type mound (char "*")
  23.   (help ""))
  24. (unit-type nest (char "@")
  25.   (help ""))
  26.  
  27. (material-type mobility (help ""))
  28.  
  29. (terrain-type puddle (char "-") (color "sky blue"))
  30. (terrain-type field (char "+") (color "green"))
  31.  
  32. (define w worker)
  33. (define s spider)
  34. (define k skeeter)
  35. (define B beetle)
  36. (define Q queen)
  37. (define f fly)
  38. (define b bee)
  39. (define % web)
  40. (define * mound)
  41. (define @ nest)
  42.  
  43. (define walkers ( worker spider skeeter beetle ))
  44. (define movers ( worker spider skeeter beetle queen fly bee ))
  45. (define flyers ( queen fly bee ))
  46. (define land ( field ))
  47.  
  48. ;;; Static relationships.
  49.  
  50. (table unit-capacity-x
  51.   (spider web 4)
  52.   )
  53.  
  54. (add queen capacity 2)
  55. (add ( nest mound ) capacity 8)
  56. (add web capacity 1)
  57.  
  58. (table unit-size-as-occupant
  59.   (u* u* 99)
  60.   (movers ( Q * @ ) 1)
  61.   (walkers web 1)
  62.   )
  63.  
  64. (table unit-storage-x add (web mobility 1))
  65.  
  66. ;;; Actions.
  67.  
  68. ;                     w s k B Q f b % * @
  69. (add u* acp-per-turn (2 4 2 1 7 7 7 1 1 1))
  70.  
  71. ;;; Movement.
  72.  
  73. (table mp-to-enter-terrain
  74.   (u* t* 99)
  75.   (walkers land 1)
  76.   (skeeter puddle 1)
  77.   (skeeter land 2)
  78.   (flyers t* 1)
  79.   (web t* 1)
  80.   )
  81.  
  82. ;; Web gets one move, for placement, then must stay there.
  83.  
  84. (table material-to-move (web mobility 1))
  85.  
  86. (table consumption-per-move (web mobility 1))
  87.  
  88. ;;; Construction.
  89.  
  90. (add movers cp ( 2 4 10 30 25 2 10 ))
  91. (add web cp 5)
  92.  
  93. (table acp-to-create
  94.   (nest movers 1)
  95.   (spider web 1)
  96.   )
  97.  
  98. (table cp-on-creation
  99.   (nest movers 1)
  100.   (spider web 1)
  101.   )
  102.  
  103. (table acp-to-build
  104.   (nest movers 1)
  105.   (spider web 1)
  106.   )
  107.  
  108. (table cp-per-build
  109.   (nest movers 1)
  110.   (spider web 1)
  111.   )
  112.  
  113. (table supply-on-creation (web mobility 1))
  114.  
  115. ;FIXME 1 nest mound make
  116.  
  117. ;(table material-to-build (nest queen 1))
  118.  
  119. ;;; Combat.
  120.  
  121. ;                 w   s   k   B   Q   f   b  %   *   @
  122. (add u* hp-max ( 20  50  20 100  20  10  20  2  10  10 ))
  123.  
  124. ;FIXME in addition you can set hp-to-repair and other things to cripple a unit
  125. ;(add movers hp-at-min-speed ( 1 3 1 1 1 1 1 ))
  126.  
  127. (table hit-chance
  128.   ;               w   s   k   B   Q  f   b  %   *   @
  129.   (worker u*  (  70  50  70  30  90  80 75 30 100 100 ))
  130.   (spider u*  (  70  50  70  40  90  90 75 70 100 100 ))
  131.   (skeeter u* (  70  50  70  30  90  80 75 50 100 100 ))
  132.   (beetle u*  (  90  70  80  50  95  50 50 70 100 100 ))
  133.   (queen u*   (  10  10  10  10  50  50 40 10 100 100 ))
  134.   (fly u*     (  10  10  10  10  20  50 25 10  50  50 ))
  135.   (bee u*     (  90  70  90  50  90  80 75 30 100 100 ))
  136.   (web u*     (   0   0   0   0   0   0  0  0   0   0 ))
  137.   (mound u*   (   0   0   0   0   0   0  0  0   0   0 ))
  138.   (nest u*    (   0   0   0   0   0   0  0  0   0   0 ))
  139.   )
  140.  
  141. (table damage
  142.   (u* u* 1)
  143.   (movers movers 10)
  144.   )
  145.  
  146. ;(add bee acp-to-detonate 1)
  147.  
  148. (table protection
  149.   (nest worker 50)
  150.   (mound nest 30)
  151.   )
  152.  
  153. (table capture-chance
  154.   (% movers ( 50 30 50 20 70 70 50 ))
  155.   (movers mound 100)
  156.   )
  157.  
  158. ;FIXME "eats" movers destroy-message
  159.  
  160. ;;; Random events.
  161.  
  162. ;; Insects generally have short lifespans.
  163.  
  164. (table attrition (movers t* 50.00))
  165.  
  166. ;;; Scoring.
  167.  
  168. (add nest point-value 25)
  169.  
  170. (scorekeeper (do last-side-wins))
  171.  
  172. ;;; Random setup.
  173.  
  174. (add t* alt-percentile-min (   0    0 ))
  175. (add t* alt-percentile-max (  10  100 ))
  176. (add t* wet-percentile-min (  50    0 ))
  177. (add t* wet-percentile-max ( 100  100 ))
  178.  
  179. (set edge-terrain puddle)
  180.  
  181. (add nest start-with 1)
  182.  
  183. (table independent-density (* t* 100))
  184.  
  185. (table favored-terrain (( * @ ) field 100))
  186.  
  187. (add u* already-seen 1)
  188.  
  189. (add nest initial-seen-radius 5)
  190.  
  191. (set side-library '(
  192.   ((noun "Buzzer"))
  193.   ((noun "Flitter"))
  194.   ((noun "Flyer"))
  195.   ((noun "Hummer"))
  196.   ))
  197.  
  198. ;FIXME 100 nest queen guard
  199.  
  200. ;FIXME "expires" u* starve-message
  201. ;FIXME "dissolves" web starve-message
  202.  
  203. ;;; Documentation.
  204.  
  205. (game-module (instructions (
  206.   "When you defeat your enemies, you get to eat them!"
  207.   ""
  208.   "Capture the other sides' nests."
  209.   )))
  210.  
  211. (game-module (notes (
  212.   "The nest is the center of your world; produce workers to "
  213.   "expand with, spiders to build webs for defense, and skeeters "
  214.   "to cross water."
  215.   )))
  216.  
  217. (game-module (design-notes (
  218.   "This was originally designed by Chris Christensen,
  219.    inspired by a board game called `Chiten I'(?)."
  220.   )))
  221.